package com.bjsxt.userscenter.users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.userscenter.common.util.PageInfoUtil;
import com.bjsxt.userscenter.users.pojo.AAdmins;
import com.bjsxt.userscenter.users.pojo.ARole;

/**
 * 用户模块相关的Service
 * 
 * 一个Service持有多个Dao
 * @author wangshSxt
 *
 */
public interface IUsersService
{
	/*---- 管理员操作开始 ----*/
	/**
	 * 保存一条管理员
	 * @param admins	保存的对象
	 * @return	json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneAdminsService(AAdmins admins);
	
	/**
	 * 更新一条管理员
	 * @param admins
	 * @return
	 */
	JSONObject updateOneAdminsService(AAdmins admins);
	
	/**
	 * 删除一条管理员
	 * @param admins
	 * @return
	 */
	JSONObject deleteOneAdminsService(AAdmins admins);
	
	/**
	 * 查询一条管理员
	 * @param condMap	查询条件
	 * @return	返回管理员
	 */
	AAdmins findOneAdminsService(Map<String, Object> condMap);
	
	/**
	 * 查询多条管理员
	 * @param pageInfoUtil	分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap	查询条件
	 * @return	返回多条记录
	 */
	List<AAdmins> findCondListAdminsService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 管理员操作结束 ----*/
	
	/*---- 角色操作开始 ----*/
	/**
	 * 保存一条角色
	 * @param role	保存的对象
	 * @return	json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneRoleService(ARole role);
	
	/**
	 * 更新一条角色
	 * @param role
	 * @return
	 */
	JSONObject updateOneRoleService(ARole role);
	
	/**
	 * 删除一条角色
	 * @param role
	 * @return
	 */
	JSONObject deleteOneRoleService(ARole role);
	
	/**
	 * 查询一条角色
	 * @param condMap	查询条件
	 * @return	返回角色
	 */
	ARole findOneRoleService(Map<String, Object> condMap);
	
	/**
	 * 查询多条角色
	 * @param pageInfoUtil	分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap	查询条件
	 * @return	返回多条记录
	 */
	List<ARole> findCondListRoleService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 角色操作结束 ----*/
}
